package main

import (
	"fmt"
)

func main() {

	// 定义一个 长度为 5的int型数组  没有赋值 会给 初始值
	var a [5]int

	//定义一个 长度为 6的int型数组
	//var b [6]int

	//长度不相同 代表  类型不一样

	//定义一个 数组 只给索引 为3的元素赋值 其他赋为初始值
	c := [5]int{3: 1}

	// 直接赋值  指定长度
	d := [...]int{1, 2, 3, 4, 5}

	fmt.Println("数组c和d比较大小")
	fmt.Println(c == d)

	fmt.Println(a)
	fmt.Println(c)

	fmt.Println("dddddddddddddddd")
	fmt.Println(d)

	fmt.Println("uuuuuuuuuuuuuuuuuuuuuuuu")

	//定义两个变量
	x, y := 1, 2

	//将xy的地址 赋值给数组f  f为指针数组
	f := [...]*int{&x, &y}

	fmt.Println(f)

	fmt.Println("====使用new关键字 创建 数组 放回指向 数组的指针")

	p := new([10]int)

	fmt.Println(p)

	g := [10]int{}
	g[1] = 5
	fmt.Println(g)

	fmt.Println("========================二维数组==========")

	h1 := [2][3]int{
		{1, 2, 3},
		{1, 2, 3}}
	fmt.Println(h1)

	fmt.Println("========================二维数组==========")

	//  赋值特定元素
	h2 := [2][3]int{
		{1: 1},
		{1: 2}}
	fmt.Println(h2)

}
